﻿using System.ComponentModel;

namespace MadMediaManager.WPFSupport.Interfaces.Services.Threading
{
    public interface IBackgroundWorkerService
    {
        int StartWork(DoWorkEventHandler work, RunWorkerCompletedEventHandler workCompleted);
        int StartWork(DoWorkEventHandler work, object workArgument, RunWorkerCompletedEventHandler workCompleted);
        int StartWork(DoWorkEventHandler work, RunWorkerCompletedEventHandler workCompleted, ProgressChangedEventHandler progressChanged);
        int StartWork(DoWorkEventHandler work, object workArgument, RunWorkerCompletedEventHandler workCompleted, ProgressChangedEventHandler progressChanged);
        void CancelWork(int workerHash);
        void ReportProgress(int workerHash, int percentProgress, object userState);
        void ReportProgress(int workerHash, int percentProgress);
    }
}
